package serveur.model.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import serveur.model.entite.Joueur;
/**
 * 
 * @author michael
 *
 */
public class JoueurDAO{
	private Connection connexion;
	private Joueur joueur;
	public JoueurDAO(Connection connexion) {
		this.connexion = connexion;
	}
	//enregistre un nouveau joueur
	public Joueur create(Joueur joueur) {
		try {
			PreparedStatement statement = connexion.prepareStatement("INSERT INTO joueur (pseudo, mdp) VALUES ('"+joueur.getPseudo()+"','"+joueur.getMdp()+"')");		
			statement.executeUpdate();
			return isRegister(joueur.getPseudo(),joueur.getMdp());
		} catch (SQLException e) {
			System.out.println("problem d'ajout joueur");
			e.printStackTrace();
		}
		return null;
		
	}
	//recherche un joueur par son pseudo et son mdp
	public Joueur isRegister(String pseudo,String mdp){
		try {
			joueur = new Joueur();
			PreparedStatement statement = connexion.prepareStatement("SELECT * FROM joueur WHERE pseudo='"+pseudo+"' AND mdp='"+mdp+"';");
			
			if(statement.execute())
			{
				ResultSet rs = statement.getResultSet();
				if(rs.next()){
					joueur.setId(rs.getInt("id"));
					joueur.setPseudo(rs.getString("pseudo"));
					joueur.setMdp(rs.getString("mdp"));
					joueur.setScore(rs.getInt("score"));
				}
				System.out.println("le joueur : "+joueur.getPseudo()+" vien de se connecter");
				if(joueur.getId()==0){
					return null;
				}
				return joueur;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return null;
	}
	//un joueur marque un point
	public void gagnier(Joueur j){
		try {
			System.out.println("joueur marque un point "+j.getPseudo()+" score "+j.getScore()+" id "+j.getId());
			PreparedStatement statement = connexion.prepareStatement("UPDATE joueur SET score="+j.getScore()+" WHERE id="+j.getId());
			statement.executeUpdate();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
